import axiosInstance from './axiosInstance'

/**
 * 获取部门列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.pageSize - 每页条数
 * @param {string} params.deptName - 部门名称（可选）
 * @param {string} params.deptCode - 部门编码（可选）
 * @param {number} params.status - 状态（可选）
 * @returns {Promise} - 返回部门列表数据
 */
export const getDepartmentList = (params) => {
    return axiosInstance.get('/department/list', { params })
}

/**
 * 获取部门详情
 * @param {number} id - 部门ID
 * @returns {Promise} - 返回部门详情
 */
export const getDepartmentDetail = (id) => {
    return axiosInstance.get(`/department/${id}`)
}

/**
 * 新增部门
 * @param {Object} data - 部门数据
 * @param {string} data.deptName - 部门名称
 * @param {string} data.deptCode - 部门编码
 * @param {number} data.parentId - 上级部门ID
 * @param {number} data.managerId - 部门负责人ID
 * @param {string} data.costCenter - 成本中心编码
 * @param {number} data.budgetAmount - 部门年度预算总额
 * @param {number} data.status - 状态
 * @param {number} data.sortOrder - 排序号
 * @returns {Promise} - 返回新增结果
 */
export const addDepartment = (data) => {
    return axiosInstance.post('/department', data)
}

/**
 * 更新部门
 * @param {number} id - 部门ID
 * @param {Object} data - 部门数据
 * @returns {Promise} - 返回更新结果
 */
export const updateDepartment = (id, data) => {
    return axiosInstance.put(`/department/${id}`, data)
}

/**
 * 删除部门
 * @param {number} id - 部门ID
 * @returns {Promise} - 返回删除结果
 */
export const deleteDepartment = (id) => {
    return axiosInstance.delete(`/department/${id}`)
}

/**
 * 获取部门树
 * @returns {Promise} - 返回部门树结构数据
 */
export const getDepartmentTree = () => {
    return axiosInstance.get('/department/tree')
}